The present disclosure relates to aspects of electronic storage, and relates in particular to improvements to the management of cache metadata operations related to one or more storage device.
In computing architecture, it can be beneficial to use one or more high-speed cache to temporarily store data that is commonly accessed, was recently accessed, or is probabilistically likely to be accessed in the future. A cache (or cache device) can exist as part of a storage hierarchy, and can be a software or hardware component. For example, data to be stored, or “cached,” can use high-speed flash devices like solid-state devices (SSDs), among other devices and technologies suitable for caching. SSD-based caches may utilize flash memory, static random access memory (SRAM), and the like. Hierarchical caching structures are typically beneficial to the operation of digital computers at least in part due to the concept of “locality of reference,” which asserts that the locality of a reference (e.g., one or more data blocks), either in terms of spatial or temporal locality, is an important factor that can limit or otherwise determine a computer's maximum or expected performance.
During a caching process, a cache typically stores a duplicate of a data block that is already stored on a primary, backend storage medium, also termed a “backing store” or “source.” By nature, caches tend to be higher-speed than other associated storage devices, such as the backing store, but also tend to have a trade-off of a more limited storage capacity.